package com.hu.auth.model;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 菜单表
 */
@Data
@TableName(value = "sys_menu")
public class Menu {
    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 所属上级
     */
    @TableField(value = "parent_id")
    private Long parentId;

    /**
     * 名称
     */
    @TableField(value = "`name`")
    private String name;

    /**
     * 类型(0:目录,1:菜单,2:按钮)
     */
    @TableField(value = "`type`")
    private Byte type;

    /**
     * 路由地址
     */
    @TableField(value = "`path`")
    private String path;

    /**
     * 组件路径
     */
    @TableField(value = "component")
    private String component;

    /**
     * 权限标识
     */
    @TableField(value = "perms")
    private String perms;

    /**
     * 图标
     */
    @TableField(value = "icon")
    private String icon;

    /**
     * 排序
     */
    @TableField(value = "sort_value")
    private Integer sortValue;

    /**
     * 状态(0:禁止,1:正常)
     */
    @TableField(value = "`status`")
    private Byte status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 删除标记（0:可用 1:已删除）
     */
    @TableField(value = "is_deleted")
    @TableLogic
    private Byte isDeleted;

    @TableField(exist = false)
    private List<Menu> children;

    @TableField(exist = false)
    private Boolean isSelect = false;

}